A blade and chassis configuration for a computing system includes one or more processing blades within a chassis. Also within the chassis are one or more integrated network switches that couple the blades together into an interchassis network as well as providing access to network connections exiting the chassis. Each blade has one or more network interface connections (NICs) for communicating with NICs incorporated into the switches.
In many implementations, an ingress transmission capacity into any individual switch exceeds the switch egress transmission capacity. The transmission capacity is a function of link speed and link load factor of the aggregated, active NICs. While an interchassis switch often includes an internal buffer that helps to moderate the effects of capacity mismatches, this internal buffer contributes to the final cost and complexity of the blades and chassis server.
Even with an internal buffer, the interchassis switch is always subject to buffer overruns because the NICs are able to transmit packets into receive buffers of the interchassis switch at a higher rate than the interchassis switch can transmit them out of outbound chassis buffers. The size of the buffer only affects how long a capacity mismatch can be sustained, but it does not eliminate buffer overrun conditions.
The buffer overrun condition results in dropped packets at the interchassis switch. The solution for a dropped packet is to cause such packets to be retransmitted by the original blade. Detecting these dropped packets and getting them retransmitted increases network latency and diminishes overall effective capacity. This problem is not unique to the Ethernet protocol and can also exist with other communications protocols.
In some implementations, network transmission capacity of a switch is consolidated into trunks in which two or more channels are combined to provide greater bandwidth. Trunking may be performed across multiple switches or multiple servers. Accordingly, what is needed is a method for decreasing the probability of buffer overruns and improving overall effective capacity of an interchassis network while being easily managed for different network configurations. The present invention addresses such a need.